﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using QLTV_BLL;
using QLTV_Public;

namespace GUI
{
    public partial class uc_Lop : DevExpress.XtraEditors.XtraUserControl
    {
        #region khai báo biến
        Lop_BLL lop_bll = new Lop_BLL();
        DataTable dt;
        TextMessageBox box = new TextMessageBox();
        #endregion

        #region LoadForm

        public uc_Lop()
        {
            InitializeComponent();
        }

        private void uc_Lop_Load(object sender, EventArgs e)
        {
            LoadData();
        }

        #endregion

        #region hàm viết thêm

        private void LoadData()
        {
            grd_Data.DataSource = lop_bll.LayDuLieu();
            grv_Data.BestFitColumns();
        }

        #endregion

        #region Các chức năng

        private void btnThem_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            frmLop frm = new frmLop();
            if (frm.ShowDialog() == DialogResult.OK)
                LoadData();
        }

        private void btnSua_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (grv_Data.RowCount > 0)
            {
                try
                {
                    frmLop frm = new frmLop();
                    frm.maLop = grv_Data.GetRowCellValue(grv_Data.FocusedRowHandle, colMaLop).ToString();
                    if (frm.ShowDialog() == DialogResult.OK)
                        LoadData();
                }
                catch (Exception)
                {
                    XtraMessageBox.Show(box.focuesFillter,box.Caption,MessageBoxButtons.OK,MessageBoxIcon.Information);
                }
            }
            else
                XtraMessageBox.Show(box.NotData,box.Caption,MessageBoxButtons.OK,MessageBoxIcon.Warning);
        }

        private void btnXoa_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (grv_Data.RowCount > 0)
            {
                try
                {
                    Lop_Public lop_public = new Lop_Public();
                    string maLop = grv_Data.GetRowCellValue(grv_Data.FocusedRowHandle, colMaLop).ToString();
                    lop_public.MaLop = maLop;
                    string sql = "select * from CTDG_SinhVien where MaLop=N'" + maLop + "'";
                    dt = lop_bll.TaoBang(sql);
                    if (dt.Rows.Count > 0)
                    {
                        XtraMessageBox.Show(string.Format("Mã lớp:{0} đang được sử dụng.Không thể xóa.", maLop), "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                        if (XtraMessageBox.Show(string.Format("Bạn có chắc muốn xóa mã:{0} này không?", maLop), "Thông Báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                        {
                            try
                            {
                                lop_bll.Delete(lop_public);
                                LoadData();
                            }
                            catch (Exception)
                            {
                                XtraMessageBox.Show("Thao tác xóa bị lỗi.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                }
                catch (Exception)
                {
                    XtraMessageBox.Show(box.focuesFillter,box.Caption,MessageBoxButtons.OK,MessageBoxIcon.Information);
                }


            }
            else
                XtraMessageBox.Show(box.NotData,box.Caption,MessageBoxButtons.OK,MessageBoxIcon.Warning);
        }
        #endregion
    }
}
